.class public Landroid/support/v4/app/NavUtils; .super Ljava/lang/Object; .source "NavUtils.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroid/support/v4/app/NavUtils$NavUtilsImplJB;, Landroid/support/v4/app/NavUtils$NavUtilsImplBase;, Landroid/support/v4/app/NavUtils$NavUtilsImpl; } .end annotation # static fields .field private static final IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; = null .field public static final PARENT_ACTIVITY:Ljava/lang/String; = "android.support.PARENT_ACTIVITY" .field private static final TAG:Ljava/lang/String; = "NavUtils" # direct methods .method static constructor ()V .locals 2 .prologue .line 116 sget v0, Landroid/os/Build$VERSION;->SDK_INT:I .line 117 .local v0, version:I const/16 v1, 0x10 if-lt v0, v1, :cond_0 .line 118 new-instance v1, Landroid/support/v4/app/NavUtils$NavUtilsImplJB; invoke-direct {v1}, Landroid/support/v4/app/NavUtils$NavUtilsImplJB;->()V sput-object v1, Landroid/support/v4/app/NavUtils;->IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; .line 122 :goto_0 return-void .line 120 :cond_0 new-instance v1, Landroid/support/v4/app/NavUtils$NavUtilsImplBase; invoke-direct {v1}, Landroid/support/v4/app/NavUtils$NavUtilsImplBase;->()V sput-object v1, Landroid/support/v4/app/NavUtils;->IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; goto :goto_0 .end method .method private constructor ()V .locals 0 .prologue .line 270 invoke-direct {p0}, Ljava/lang/Object;->()V .line 271 return-void .end method .method public static getParentActivityIntent(Landroid/app/Activity;)Landroid/content/Intent; .locals 1 .parameter "sourceActivity" .prologue .line 196 sget-object v0, Landroid/support/v4/app/NavUtils;->IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; invoke-interface {v0, p0}, Landroid/support/v4/app/NavUtils$NavUtilsImpl;->getParentActivityIntent(Landroid/app/Activity;)Landroid/content/Intent; move-result-object v0 return-object v0 .end method .method public static getParentActivityIntent(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/content/Intent; .locals 3 .parameter "context" .parameter "componentName" .annotation system Ldalvik/annotation/Throws; value = { Landroid/content/pm/PackageManager$NameNotFoundException; } .end annotation .prologue .line 229 invoke-static {p0, p1}, Landroid/support/v4/app/NavUtils;->getParentActivityName(Landroid/content/Context;Landroid/content/ComponentName;)Ljava/lang/String; move-result-object v0 .line 230 .local v0, parentActivity:Ljava/lang/String; if-nez v0, :cond_0 const/4 v1, 0x0 .line 231 :goto_0 return-object v1 :cond_0 new-instance v1, Landroid/content/Intent; invoke-direct {v1}, Landroid/content/Intent;->()V invoke-virtual {p1}, Landroid/content/ComponentName;->getPackageName()Ljava/lang/String; move-result-object v2 invoke-virtual {v1, v2, v0}, Landroid/content/Intent;->setClassName(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent; move-result-object v1 goto :goto_0 .end method .method public static getParentActivityIntent(Landroid/content/Context;Ljava/lang/Class;)Landroid/content/Intent; .locals 2 .parameter "context" .parameter .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/content/Context;", "Ljava/lang/Class", "<*>;)", "Landroid/content/Intent;" } .end annotation .annotation system Ldalvik/annotation/Throws; value = { Landroid/content/pm/PackageManager$NameNotFoundException; } .end annotation .prologue .line 211 .local p1, sourceActivityClass:Ljava/lang/Class;,"Ljava/lang/Class<*>;" new-instance v1, Landroid/content/ComponentName; invoke-direct {v1, p0, p1}, Landroid/content/ComponentName;->(Landroid/content/Context;Ljava/lang/Class;)V invoke-static {p0, v1}, Landroid/support/v4/app/NavUtils;->getParentActivityName(Landroid/content/Context;Landroid/content/ComponentName;)Ljava/lang/String; move-result-object v0 .line 213 .local v0, parentActivity:Ljava/lang/String; if-nez v0, :cond_0 const/4 v1, 0x0 .line 214 :goto_0 return-object v1 :cond_0 new-instance v1, Landroid/content/Intent; invoke-direct {v1}, Landroid/content/Intent;->()V invoke-virtual {v1, p0, v0}, Landroid/content/Intent;->setClassName(Landroid/content/Context;Ljava/lang/String;)Landroid/content/Intent; move-result-object v1 goto :goto_0 .end method .method public static getParentActivityName(Landroid/app/Activity;)Ljava/lang/String; .locals 2 .parameter "sourceActivity" .prologue .line 245 :try_start_0 invoke-virtual {p0}, Landroid/app/Activity;->getComponentName()Landroid/content/ComponentName; move-result-object v1 invoke-static {p0, v1}, Landroid/support/v4/app/NavUtils;->getParentActivityName(Landroid/content/Context;Landroid/content/ComponentName;)Ljava/lang/String; :try_end_0 .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0 move-result-object v1 return-object v1 .line 246 :catch_0 move-exception v0 .line 248 .local v0, e:Landroid/content/pm/PackageManager$NameNotFoundException; new-instance v1, Ljava/lang/IllegalArgumentException; invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/Throwable;)V throw v1 .end method .method public static getParentActivityName(Landroid/content/Context;Landroid/content/ComponentName;)Ljava/lang/String; .locals 4 .parameter "context" .parameter "componentName" .annotation system Ldalvik/annotation/Throws; value = { Landroid/content/pm/PackageManager$NameNotFoundException; } .end annotation .prologue .line 263 invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager; move-result-object v2 .line 264 .local v2, pm:Landroid/content/pm/PackageManager; const/16 v3, 0x80 invoke-virtual {v2, p1, v3}, Landroid/content/pm/PackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo; move-result-object v0 .line 265 .local v0, info:Landroid/content/pm/ActivityInfo; sget-object v3, Landroid/support/v4/app/NavUtils;->IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; invoke-interface {v3, p0, v0}, Landroid/support/v4/app/NavUtils$NavUtilsImpl;->getParentActivityName(Landroid/content/Context;Landroid/content/pm/ActivityInfo;)Ljava/lang/String; move-result-object v1 .line 266 .local v1, parentActivity:Ljava/lang/String; return-object v1 .end method .method public static navigateUpFromSameTask(Landroid/app/Activity;)V .locals 4 .parameter "sourceActivity" .prologue .line 155 invoke-static {p0}, Landroid/support/v4/app/NavUtils;->getParentActivityIntent(Landroid/app/Activity;)Landroid/content/Intent; move-result-object v0 .line 157 .local v0, upIntent:Landroid/content/Intent; if-nez v0, :cond_0 .line 158 new-instance v1, Ljava/lang/IllegalArgumentException; new-instance v2, Ljava/lang/StringBuilder; invoke-direct {v2}, Ljava/lang/StringBuilder;->()V const-string v3, "Activity " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v3 invoke-virtual {v3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v3 invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, " does not have a parent activity name specified." invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, " (Did you forget to add the android.support.PARENT_ACTIVITY " invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 const-string v3, " element in your manifest?)" invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v2 invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v2 invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw v1 .line 165 :cond_0 invoke-static {p0, v0}, Landroid/support/v4/app/NavUtils;->navigateUpTo(Landroid/app/Activity;Landroid/content/Intent;)V .line 166 return-void .end method .method public static navigateUpTo(Landroid/app/Activity;Landroid/content/Intent;)V .locals 1 .parameter "sourceActivity" .parameter "upIntent" .prologue .line 182 sget-object v0, Landroid/support/v4/app/NavUtils;->IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; invoke-interface {v0, p0, p1}, Landroid/support/v4/app/NavUtils$NavUtilsImpl;->navigateUpTo(Landroid/app/Activity;Landroid/content/Intent;)V .line 183 return-void .end method .method public static shouldUpRecreateTask(Landroid/app/Activity;Landroid/content/Intent;)Z .locals 1 .parameter "sourceActivity" .parameter "targetIntent" .prologue .line 139 sget-object v0, Landroid/support/v4/app/NavUtils;->IMPL:Landroid/support/v4/app/NavUtils$NavUtilsImpl; invoke-interface {v0, p0, p1}, Landroid/support/v4/app/NavUtils$NavUtilsImpl;->shouldUpRecreateTask(Landroid/app/Activity;Landroid/content/Intent;)Z move-result v0 return v0 .end method